﻿/**************************************************************
 *
 * 唯一标识：9d8599b4-4b56-4725-8ffc-d72f048fd997
 * 命名空间：Sgr.UPMS.Application.Validations.Users
 * 创建时间：2023/8/27 16:41:58
 * 机器名称：DESKTOP-S0D075D
 * 创建者：antho
 * 电子邮箱：fengqinhua2016@163.com
 * 描述：
 *
 **************************************************************/

using FluentValidation;
using Sgr.UPMS.Application.Commands.UserProfile;
using Sgr.Utilities;

namespace Sgr.UPMS.Application.Validations.UserProfile
{
    /// <summary>
    /// 修改用户信息命令验证器
    /// </summary>
    public class ModifyUserCommandValidator : AbstractValidator<ModifyUserCommand>
    {
        public ModifyUserCommandValidator()
        {
            RuleFor(command => command.UserName)
                .MaximumLength(100)
                .WithMessage("用户姓名不能超过100个字符");

            //RuleFor(command => command.UserPhone)
            //    .MaximumLength(30)
            //    .WithMessage("手机号码不能超过30个字符")
            //    .Matches(@"^(?:\+?86)?1[3-9]\d{9}$")
            //    .When(command => !string.IsNullOrWhiteSpace(command.UserPhone))
            //    .WithMessage("无效的手机号码格式");

            //RuleFor(command => command.UserEmail)
            //    .MaximumLength(30)
            //    .WithMessage("邮箱地址不能超过30个字符")
            //    .EmailAddress()
            //    .When(command => !string.IsNullOrWhiteSpace(command.UserEmail))
            //    .WithMessage("请输入有效的邮箱地址");

            RuleFor(command => command.QQ)
                .MaximumLength(20)
                .WithMessage("QQ号码不能超过20个字符")
                .Matches(@"^\d+$")
                .When(command => !string.IsNullOrWhiteSpace(command.QQ))
                .WithMessage("QQ号码只能输入数字");
        }
    }
}